华裔科学家汪德亮:我用深度学习颠覆了助听技术
编者按:本文最早刊登于美国科技杂志《IEEE Spectrum》,其作者是俄亥俄州立大学感知与神经动力学实验室的主任汪德亮。他同时还担任人工智能领域顶尖期刊《Neural Networks》的联合主编。
在我离家读大学期间,我母亲的听力越来越差。我回家聊起大学生活时,她凑近了才能听清楚我说什么。不久后,如果同时有不止一个人在说话,她就很难听清。现在,即使戴着助听器,她也难以区分每个人的声音,所以一家人团聚时要轮流说话才能让她听明白。
母亲的苦处反映了助听器制造商面临的一个典型问题。人类听觉系统能够在拥挤的房间里,轻易辨别每个人的声音,但几十年来,信号处理专家、人工智能专家和听力学家竭尽所能,也无法让助听器具备这种能力。1953年,英国认知科学家科林·切瑞(Colin Cherry)首次将其称为“鸡尾酒会问题”。
六十多年后的今天,在需要助听器的人之中,只有不到25%的人真正使用了助听器。最令潜在用户失望的地方在于,助听器无法在多个声音之间作出区分,比如说话声和同时有汽车经过的声音。遇到这种情况,助听器只会调高两个声音的音量,结果就变成了混乱的嘈杂声。
7.66亿人的市场
到了必须解决这个问题的时候了。为了改善助听器佩戴者的体验,近一段时期,我在俄亥俄州立大学的实验室利用了基于深度神经网络的机器学习技术,用它来分离声音。我们测试了多个版本的数字滤音器,这些滤音器不仅能放大声音,还能将说话声从背景噪音中分离出来,并自动调节每个声音的音量。
我们相信,这种方法最终能恢复听力受损者对声音的理解能力,使之达到、甚至超过正常人的听力水平。事实上,我们的一个早期模型大幅增强了某些受试者在噪音中听清话语的能力,准确率从10%提高到90%。
如果没有更好的助听器,全世界的听力状况将恶化。据世界卫生组织估计,15%的成年人(约为7.66亿人)存在听力受损。而随着人口增长以及老龄人口的比重增加,这个数字正在上升。先进助听器的潜在市场不仅限于听力受损者。研发人员可以利用这项技术改善智能手机的语音识别功能,企业主可以用它帮助员工在嘈杂的工厂里工作,军队可以把它作为军事装备,让士兵能够在震耳欲聋的战场上,听清战友的话语。
这构成了一个庞大的潜在市场。市场调研公司MarketsandMarkets估计,到2020年前,全球助听器行业(目前规模为60亿美元)将以每年6%的速度增长。但若想满足所有那些新用户的需求,就必须想办法解决“鸡尾酒会问题”,而深度神经网络为我们指明了前进的方向。
清晰语音:为了分离语音和噪声,机器学习软件把带有噪声的语音样本分解成一个个时频单元,然后分析这些单元,提取出用以区分语音和其他声音的85个已知特征,接着,把这些特征输入深度神经网络。经过训练的深度神经网络会根据以前处理类似样本的经验,对单元进行分类,区别出哪些是语音,哪些是噪声。最后,软件使用数字滤音器,排除掉所有的非语音单元,只留下分离出来的语音。
几十年来,电子和计算机工程师一直都着眼于通过信号处理来实现语音分离,但每每以失败告终。最常见的方法是利用语音活动探测器,识别人们在说话时的发音间隔。按照这种方法,系统会把间隔期间捕捉到的声音认定为“噪音”。然后,计算机算法再从原始录音中去除这些噪音,从理论上来说,只留下了没有噪声的语音。
只是,这种被称为“谱减法”的技术,效果很差,要么去除了太多的语音,要么去除的噪音太少。即使经过多年的发展,毛病依然很多,事实证明它能提供的帮助很有限。
我意识到,我们必须另辟蹊径。于是,我们从加拿大麦吉尔大学心理学家阿尔伯特·布雷格曼(Albert Bregman)的理论着手。1990年,布雷格曼提出,人类听觉系统将声音组织成不同的声音流。从本质上说,一个声音流对应一个声音源,比如身边的某位朋友。每个声音流的音调、音量和方向来源都是独一无二的。
嘈杂的世界:人类的耳朵能同时捕捉到很多声音流,这在一定程度上归因于其奇特的形状。一个声音流是指一种声音源发出的所有声波,比如一只狗。所有这些声音流汇聚在一起,构成了听觉场景(犬吠声+警笛声+说话声)。
众多声音流(比如在喧闹的球场里说话)汇聚在一起,就构成了布雷格曼所说的“听觉场景”。如果多个声音同时出现在同一个频段,场景中最响亮的声音便会掩盖其他声音,这个原理被称为“听觉遮蔽”。比如,当雨水滴答落在屋顶上时,你可能不会注意到房间角落里钟表发出的声音。MP3文件就是利用这个原理及其他技术,通过去除被掩盖的声音,将文件压缩至原始大小的十分之一。
按照布雷格曼的理论,我们想知道,可不可以打造一种滤音器,能够在特定时刻、特定频段内,确定一个声音流是否强于其他声音流。我们希望这款滤音器能告诉我们,在特定时刻,一个包含语音或者噪声的声音流,是否会在其频段内处于更加强势的地位,以此作为分离语音和噪声的第一步。
什么是理想二元掩模?
2001年,我的实验室率先设计出了这样一种滤音器,它能够把声音流标记为两种:以语音为主,或者以噪声为主。有了这种滤音器,我们又开发了一款机器学习软件,它能根据振幅(音量)、谐波结构(音调的特定排列)以及开始时刻(一个声音相对于其他声音开始的时间)等特征,把语音与其他声音分离开来。
最初开发的这种滤音器就是我们所说的理想二元掩模。它从名为“时频单元”的声音片段中,找出噪声和语音,并加以标记。通过时频单元,我们可以得知各个频段独有的发音间隔。滤音器会分析每个时频单元带有噪音的样本,用1或0来标记。
如果“目标”声音(在此例中是语音)比噪声更响亮,则标记为1;如果目标声音更柔和,则标记为0。其结果就是一连串1和0,它们代表了噪声或语音在样本中的主导地位。然后,滤音器去掉所有标记为0的单元,再把那些标记为1的单元重新组织起来。为了从带噪语音中重新构建出可理解的句子,必须有一定比例的时频单元被标记为1。
2006年,我们在美国空军研究实验室开始测试理想二元掩模。同时,雪城大学的一支研究团队对理想二元掩模进行了独立评估。在试验中,这种滤音器不仅对听觉受损者有帮助,而且也有助于听力正常者更好地理解带有噪音的句子。
我们创造的滤音器在实验室中表现完美,但必须要指出,现实环境并没有实验室那般理想。在实验室中,对于每个样本中语音和背景噪音谁强谁弱,我们是事先知道答案的(“理想”指的就是这个)。但在实际应用中,滤音器必须完全靠自己的能力,将语音从噪声中分离出来。
仔细倾听:在2013年拍摄的这张照片中,俄亥俄州立大学的研究人员正在测试一款基于深度神经网络、用来分离语音的机器学习软件。左二穿蓝色上衣的年长者正是本文作者汪德亮。
尽管如此,理想二元掩模能为理解语音提供极大帮助,这一事实具有重大意义。它表明,分类技术(监督学习的一种形式)可以被用来模拟理想二元掩模,以此作为一种分离语音与噪声的方法。依靠分类,机器通过完成训练、接收反馈、从实践中吸取和牢记经验教训,来模拟人类的学习过程。从本质上来说,我们小时候也是通过同样的方法学会分辨苹果和橘子的。
随后几年,我的实验室首先是尝试通过分类来模拟理想二元掩模。大约在我们开发初代分类器的同时,卡内基梅隆大学的一支团队利用机器学习技术,发明了他们自己的时频单元分类方法,但目的有所不同,是用来改善自动语音识别。后来,德克萨斯大学的一支团队采用了一种不同的分类方法,在使用单声道特征来提高语音理解方面第一次实现了重要进展——这与双耳捕捉到的双声道特征有很大区别。
但这些早期机器学习方法使用的分类技术仍然不够强大或准确,还无法真正让助听器佩戴者受益。在现实世界中,噪声和语音的混合毫无规律可言,对于这样的复杂场景,这些实验室方法根本无能为力。因此,我们需要一种更加强大的分类技术。
理想二元掩模+深度学习
我们的早期分类算法取得了比较理想的初步结果,于是我们决定接着走下去,对它进行改良,让它在嘈杂的现实环境中也能发挥作用。这个挑战促使我们去做以前从未做过的事:打造一款基于神经网络的机器学习软件,经过复杂的训练过程后,可以将语音和噪声分离。该软件利用理想二元掩模,来引导对神经网络的训练。效果很不错。在一项涉及24个测试对象的研究中,这款软件使听觉受损者的语音理解能力提高了大约50%。
可以说,神经网络就是一种软件系统,由众多相对简单的单元构成,通过这些单元的协同工作,达到复杂的处理水平(系统的结构大致上模拟了大脑神经元网络的工作方式)。在面对新的样本时,神经网络像人脑一样,通过调整连接线的权重来“学习”。
智能层:深度神经网络包含两个或以上的处理层,位于输入层和输出层之间。信息通过输入层输入系统(左),输出层输出结果(右)。为了提高性能,研究人员可以调整系统的参数和层与层之间的连接。
神经网络有多种形态和大小,复杂程度不一。深度神经网络拥有至少两个“隐藏的”处理层,它们不是直接与系统的输入和输出相连。每个隐藏层分析前几层传递而来的结果,根据先验知识,加入新的考虑因素。
为了打造我们自己的深度神经网络,我们先编写算法,根据声波的振幅、频率和声调的常见变化,提取出可以用来区分语音和噪声的特征。我们识别出的特征有85个,最重要的特征包括声音的频率和强度(响亮还是轻柔)。
然后,我们对深度神经网络进行训练,让它利用这85个特征来区分语音和噪声。训练分成两个阶段:在第一阶段,我们通过无监督学习,设定程序的参数。也就是说,我们把特征的很多例子载入程序,好让它事先了解以后会遇到的信号类型。
接下来,我们利用带噪语音样本及其理想二元掩模的相应结果,来完成第二阶段的训练,即监督学习。那些“1和0”分类结果就如同考试题,用来不断磨练程序区的能力。
如果神经网络输出结果与理想二元掩模之间存在差异,就会被判为错误。经过计算和,我们会相应地调整神经网络连接线的权重,以便再次进行同样的分类时,使偏差缩小。对神经网络的训练要经过成千上万次这样周而复始的考试。
在这个过程中有一个重要的改进,就是建立了第二个深度神经网络,对第一个网络的结果进行调整。第一个网络专注于标记各个时频单元的特征,而第二个网络会检查特定单元附近几个单元的特征。
为什么这个改进效果很好?可以打个比方来解释:如果说第一个网络着眼于一套待售住宅的各个房间,那么第二个网络就是用来考察住宅周边的环境。换句话说,第二个网络向第一个网络提供了有关语音和噪声的额外背景,从而进一步提高了分类的准确性。
让人欣喜的考试成绩
监督训练结束时,深度神经网络分类器在分离语音和噪声方面明显优于以前的方法。事实上,在依靠单声道技术的所有算法中,这种算法在帮助听障者理解带噪语音方面首次取得重大进步。
接下来我们进行了人类实测。我们请12位听障者和12位听觉正常者通过耳机听取嘈杂环境中的句子样本。样本成对出现:首先是语音和噪声同时发生,然后是用我们基于深度神经网络打造的程序处理同一个样本。句子中有两种噪音,一种是持续的嗡嗡声,另一种是很多人同时说话的叽叽喳喳声。
在经过程序处理后,两组实验对象的听力理解能力均出现大幅提升。在没有经过程序处理的情况下,听力受损者在嗡嗡声的环境中只能懂36%的单词,经过程序处理后,这个比例提高到86%。在叽叽喳喳的嘈杂环境中,他们一开始只能理解29%的单词,而经过程序处理后,能理解的单词提升到84%。
对于听力正常者,在第一种噪音环境中,他们的理解力从37%提高到80%;第二种环境中,这个数字从42%提高到78%。
在我们的实验中,最引人注目的一个结果是,听力受损者在程序的帮助下,理解能力甚至可以超过听力正常者。凭借这些结果,可以自豪地说,我们这套基于深度神经网络打造的程序,是迄今为止最接近于解决鸡尾酒会问题的一种技术。
当然,该程序的能力也存在局限性。例如,在我们的样本中,掩盖语音的噪音类型非常类似于程序在训练过程中分类的噪音类型。想要在现实生活中发挥作用,程序需要迅速学会滤除很多的噪音类型,包括不同于它已经碰到过的类型。例如,通风系统的嘶嘶声不同于冰箱压缩机的嗡嗡声。另外,我们使用的带噪样本中,并没有将回声包括进去,而回声会使鸡尾酒会问题变得更加复杂。
在得到那些早期研究结果后,我们又购买了一个为电影制片人设计的声效数据库,用其中的1万种噪音,进一步训练我们的程序。2016年,我们发现,重新训练后的程序可以对抗全新的噪音,显著改善理解能力。目前,我们正在更多的环境中运行该程序,让更多的听觉受损者测试它。
最终,我们相信该程序可以在性能强大的计算机上进行训练,直接嵌入助听器或者通过蓝牙等无线连接方式与智能手机协同工作,向耳机提供经过处理的实时信号。而且制造商还可以通过发布加强版的软件补丁来不断提高助听器的性能。
有了这种方法,鸡尾酒会问题不再像几年前那样令人怯步。通过在更多的噪音环境中进行更广泛的训练,我们和其他人现在开发的软件有望最终克服这一难题。这个过程就像小孩学习分离语音和噪声的过程,也就是不断地暴露于各种各样的语音和噪声环境中。通过更多的练习,这种方法只会越来越好。这就是其魅力所在。
翻译:于波
来源:IEEE Spectrum
点击标题 查看往期回顾